package demo.ClassLoad;

/**
 * @Auther: hjy(lc))
 * @Date: 2022/8/4-08-04-14:44
 * @Description：demo.ClassLoad   类加载器
 */
/*
应用类加载器
扩展类加载器
引导类加载器：   java语言拿不到  由c++语言实现
    三者非字符类关系
 */
//应用类加载器加载当前类
public class classLoad_use {
    public static void main(String[] args) {
        ClassLoader loader = classLoad_use.class.getClassLoader();
        System.out.println(loader);     //sun.misc.Launcher$AppClassLoader@18b4aac2   //应用类加载器
        ClassLoader extLoader = loader.getParent();       //上下级（组合）关系
        System.out.println(extLoader);     //sun.misc.Launcher$ExtClassLoader@1540e19d    //扩展类加载器：jdk/jre/lib/ext


        ClassLoader bootLoader = extLoader.getParent();     //null          //引导类加载器       加载：jdk/jre/lib  rt.jar
        System.out.println(bootLoader);

        System.out.println(String.class.getClassLoader());     //String.class    引导类加载器  在rt.jar中字节码
    }
}
